MySQL ANY மற்றும் ALL ஆபரேட்டர்கள்
ANY மற்றும் ALL ஆபரேட்டர்கள் ஒரு ஒற்றை நெடுவரிசை மதிப்பை மற்ற மதிப்புகளின் வரம்புடன் ஒப்பிட உங்களை அனுமதிக்கின்றன.
ANY ஆபரேட்டர்
துணைக் கோரிக்கை மதிப்புகளில் ஏதேனும் ஒன்று நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
ALL ஆபரேட்டர்
துணைக் கோரிக்கை மதிப்புகள் அனைத்தும் நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
ஒப்பீட்டு ஆபரேட்டர்கள்
=, <>, !=, >, >=, <, <= போன்ற ஆபரேட்டர்களுடன் பயன்படுத்தப்படுகிறது
ANY ஆபரேட்டர்
ANY ஆபரேட்டர்:
- முடிவாக ஒரு பூலியன் மதிப்பை திருப்பித் தரும்
- துணைக் கோரிக்கை மதிப்புகளில் ஏதேனும் ஒன்று நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
ANY என்பது வரம்பில் உள்ள மதிப்புகளில் ஏதேனும் ஒன்றுக்கு செயல்பாடு உண்மையாக இருந்தால் நிபந்தனை உண்மையாக இருக்கும் என்பதாகும்.
ANY தொடரியல்
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name
FROM table_name
WHERE condition);
குறிப்பு:
ஆபரேட்டர் ஒரு நிலையான ஒப்பீட்டு ஆபரேட்டராக இருக்க வேண்டும் (=, <>, !=, >, >=, <, or <=).
ALL ஆபரேட்டர்
ALL ஆபரேட்டர்:
- முடிவாக ஒரு பூலியன் மதிப்பை திருப்பித் தரும்
- துணைக் கோரிக்கை மதிப்புகள் அனைத்தும் நிபந்தனையை பூர்த்தி செய்தால் TRUE திருப்பித் தரும்
- SELECT, WHERE மற்றும் HAVING கூற்றுகளுடன் பயன்படுத்தப்படுகிறது
ALL என்பது வரம்பில் உள்ள அனைத்து மதிப்புகளுக்கும் செயல்பாடு உண்மையாக இருந்தால் மட்டுமே நிபந்தனை உண்மையாக இருக்கும் என்பதாகும்.
SELECT உடன் ALL தொடரியல்
SELECT ALL column_name(s)
FROM table_name
WHERE condition;
WHERE அல்லது HAVING உடன் ALL தொடரியல்
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name
FROM table_name
WHERE condition);
குறிப்பு:
ஆபரேட்டர் ஒரு நிலையான ஒப்பீட்டு ஆபரேட்டராக இருக்க வேண்டும் (=, <>, !=, >, >=, <, or <=).
டெமோ தரவுத்தளம்
Northwind மாதிரி தரவுத்தளத்தில் உள்ள "Products" அட்டவணையில் இருந்து ஒரு தேர்வு கீழே உள்ளது:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
| 6 | Grandma's Boysenberry Spread | 3 | 2 | 12 - 8 oz jars | 25 |
| 7 | Uncle Bob's Organic Dried Pears | 3 | 7 | 12 - 1 lb pkgs. | 30 |
| 8 | Northwoods Cranberry Sauce | 3 | 2 | 12 - 12 oz jars | 40 |
| 9 | Mishi Kobe Niku | 4 | 6 | 18 - 500 g pkgs. | 97 |
"OrderDetails" அட்டவணையில் இருந்து ஒரு தேர்வு:
| OrderDetailID | OrderID | ProductID | Quantity |
|---|---|---|---|
| 1 | 10248 | 11 | 12 |
| 2 | 10248 | 42 | 10 |
| 3 | 10248 | 72 | 5 |
| 4 | 10249 | 14 | 9 |
| 5 | 10249 | 51 | 40 |
| 6 | 10250 | 41 | 10 |
| 7 | 10250 | 51 | 35 |
| 8 | 10250 | 65 | 15 |
| 9 | 10251 | 22 | 6 |
| 10 | 10251 | 57 | 15 |
SQL ANY எடுத்துக்காட்டுகள்
OrderDetails அட்டவணையில் Quantity 10 க்கு சமமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது
பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் Quantity 10 க்கு சமமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது (இது TRUE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் 10 மதிப்புகள் உள்ளன):
ExampleGet your own SQL Server
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);
OrderDetails அட்டவணையில் Quantity 99 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது
பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் Quantity 99 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது (இது TRUE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் 99 க்கும் அதிகமான மதிப்புகள் உள்ளன):
Example
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 99);
OrderDetails அட்டவணையில் Quantity 1000 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது
பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் Quantity 1000 க்கும் அதிகமான பதிவுகள் இருந்தால் ProductName பட்டியலிடுகிறது (இது FALSE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் 1000 க்கும் அதிகமான மதிப்புகள் இல்லை):
Example
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 1000);
SQL ALL எடுத்துக்காட்டுகள்
அனைத்து தயாரிப்பு பெயர்களை பட்டியலிடுகிறது
பின்வரும் SQL கூற்று அனைத்து தயாரிப்பு பெயர்களை பட்டியலிடுகிறது:
Example
SELECT ALL ProductName
FROM Products
WHERE TRUE;
OrderDetails அட்டவணையில் உள்ள அனைத்து பதிவுகளும் Quantity 10 க்கு சமமாக இருந்தால் ProductName பட்டியலிடுகிறது
பின்வரும் SQL கூற்று OrderDetails அட்டவணையில் உள்ள அனைத்து பதிவுகளும் Quantity 10 க்கு சமமாக இருந்தால் ProductName பட்டியலிடுகிறது. இது நிச்சயமாக FALSE திருப்பித் தரும் ஏனெனில் Quantity நெடுவரிசையில் பல வெவ்வேறு மதிப்புகள் உள்ளன (10 மதிப்பு மட்டும் அல்ல):
Example
SELECT ProductName
FROM Products
WHERE ProductID = ALL
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);